home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / snmp / mib2c-data / generic-table-indexes-from-oid.m2i < prev    next >
Text File  |  2008-09-22  |  2KB  |  71 lines

  1. #############################################################  -*- c -*-
  2. ## generic include for XXX. Do not use directly.
  3. ##
  4. ## $Id: generic-table-indexes-from-oid.m2i 11300 2004-10-08 23:39:17Z rstory $
  5. ########################################################################
  6. @if $m2c_mark_boundary == 1@
  7. /** START code generated by $RCSfile$ $Revision: 11300 $ */
  8. @end@
  9. ########################################################################
  10. ##
  11. /**
  12.  * extract ${context} indexes from a netsnmp_index
  13.  *
  14.  * @retval SNMP_ERR_NOERROR  : no error
  15.  * @retval SNMP_ERR_GENERR   : error
  16.  */
  17. int
  18. ${context}_index_from_oid(netsnmp_index *oid_idx,
  19.                          ${context}_mib_index *mib_idx)
  20. {
  21. @include generic-table-indexes-varbind-setup.m2i@
  22.  
  23.     DEBUGMSGTL(("verbose:${context}:${context}_index_from_oid","called\n"));
  24.  
  25.     /*
  26.      * parse the oid into the individual index components
  27.      */
  28.     err = parse_oid_indexes( oid_idx->oids, oid_idx->len,
  29.                              &var_$m2c_dii_first );
  30.     if (err == SNMP_ERR_NOERROR) {
  31.         /*
  32.          * copy out values
  33.          */
  34. @    eval $m2c_node_name = ""@ # purge node name to re-eval $m2c_node_var_name
  35. @    foreach $node index@
  36. @        eval $m2c_node_var_name = "var_${node}."@
  37. @        include m2c_setup_node.m2i@
  38. @        if $m2c_node_needlength == 1@
  39.     /*
  40.      * NOTE: val_len is in bytes, ${node}_len might not be
  41.      */
  42.          if(var_${node}.val_len > sizeof(mib_idx->$node))
  43.              err = SNMP_ERR_GENERR;
  44.          else {
  45.              memcpy(mib_idx->${node}, var_${node}.val.string, var_${node}.val_len);
  46.              mib_idx->${node}_len = var_${node}.val_len / sizeof(mib_idx->${node}[0]);
  47.          }
  48. @        else@
  49.     mib_idx->$node = $m2c_node_var_val;
  50. @        end@
  51. @    end@ # foreach
  52. @    eval $m2c_node_var_name = ""@ #reset custom name
  53. @    eval $m2c_node_name = ""@ # purge node name to re-eval $m2c_node_var_name
  54.  
  55.  
  56.     }
  57.  
  58.     /*
  59.      * parsing may have allocated memory. free it.
  60.      */
  61.     snmp_reset_var_buffers( &var_$m2c_dii_first );
  62.  
  63.     return err;
  64. } /* ${context}_index_from_oid */
  65.  
  66. ##
  67. ########################################################################
  68. @if $m2c_mark_boundary == 1@
  69. /** END code generated by $RCSfile$ $Revision: 11300 $ */
  70. @end@
  71.